package mx.com.asteca.servicio;

import java.util.List;

import mx.com.asteca.comun.dto.DocumentoDTO;
import mx.com.asteca.comun.dto.PersonaDTO;
import mx.com.asteca.persistencia.entidades.Personas;

public interface PersonaServicio extends
		BaseService<PersonaDTO, Integer, Personas> {
	
	PersonaDTO findByUserName(String userName) throws ServicioException;

	List<PersonaDTO> findActiveUsers() throws ServicioException;

	boolean isAlumno(int idPersona) throws ServicioException;

	boolean isAdmin(int idPersona) throws ServicioException;

	boolean isInstructor(int idPersona) throws ServicioException;

	List<DocumentoDTO> getDocumentosByAlumno(int idPersona)
			throws ServicioException;

	List<DocumentoDTO> getDocumentosByInstructor(int idPersona)
			throws ServicioException;

	boolean isReferencia(int idPersona) throws ServicioException;

	boolean isContacto(int idPersona) throws ServicioException;

	int getIdAlumno(int idPersona) throws ServicioException;

	int getIdInstructor(int idPersona) throws ServicioException;

	int aumentaContador(int idPersona) throws ServicioException;

	void bloqueaUsuario(int idPersona) throws ServicioException;

	void reseteaContador(int idPersona) throws ServicioException;

	void desbloqueadUsuario(int idPersona) throws ServicioException;

	List<PersonaDTO> findBloqueados() throws ServicioException;
}
